import axios from 'axios'
import config from '@/config/index.js'

const { baseURL, aiBaseURL, timeout } = config
export const request = async (options) => {
  
  if(options.type == 'ai') {
    options.url = aiBaseURL + options.url
  } else if (options.url.indexOf('/api') == -1 && options.url.indexOf('/ai') == -1) {
    options.url =baseURL +   options.url
  } 
  // if (options.url.indexOf('/api') == -1) {
  //   options.url = baseURL + options.url
  // }

  if (!options.timeout) {
    options.timeout = timeout
  }
  
  // 返回promise
  return new Promise((resolve, reject) => {
    // 请求
    // if (isLogin.value) {
      axios({
        ...options,
        // jsonp: 'callback',

        // withCredentials: true,
      })
      .then((res) => {
        if (res.statusCode !== 200) statusCode(res.statusCode)
        resolve(res.data)
      })
      .catch((err) => {
        reject(err)
      })
    // } else {
    //   resolve({
    //     success: 0,
    //     message: '请先登录',
    //   })
    // }
  })
}

export const statusCode = (code) => {
  // uni.showToast({
  //   title: CODE_MESSAGE[code],
  //   icon: 'none',
  //   duration: 3000,
  // })
}

// 常见请求状态
const CODE_MESSAGE = {
  200: '服务器成功返回请求数据',
  201: '新建或修改数据成功',
  202: '一个请求已经进入后台排队(异步任务)',
  204: '删除数据成功',
  400: '发出信息有误',
  401: '用户没有权限(令牌失效、用户名、密码错误、登录过期)',
  402: '令牌过期',
  403: '禁止访问',
  404: '访问资源不存在',
  406: '请求格式不可得',
  410: '请求资源被永久删除，且不会被看到',
  500: '服务器发生错误',
  502: '网关错误',
  503: '服务不可用，服务器暂时过载或维护',
  504: '网关超时',
  505: 'HTTP版本不受支持(505)',
}
 